{{tag>Hardy Lucid visionneuse diaporama}}
----

====== Feh ======

**Feh** est un logiciel d'affichage et de manipulations d'images, léger et rapide, extrêmement configurable. Il est destiné principalement à être appelé en console, mais possède tout de même un petit menu (clic droit) pour réaliser quelques opérations sur l'image.

Il permet d'afficher des images stockées en local ou sur internet (par url).

Il permet soit d'afficher des images à l'écran, soit d'afficher un papier peint en fond d'écran.

===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.


===== Installation =====

Il vous suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://feh|feh]]** ([[:depots|dépôt Universe]]).

===== options principales =====
Toutes les options en tapant **man feh** dans un terminal.

  * L'option **-F** permet pour toutes les commandes suivantes d'être directement en plein écran.
  * L'option **-g** permet de forcer la géométrie de la fenêtre de résultat. Exemple : **feh -g 640x480 *.jpg**
  * L'option **--bg-scale** permet d'afficher un fichier en fond d'écran (papier peint)
  * L'option **-z** fait un tirage aléatoire d'image au sein d'un répertoire (utile pour les papiers peints)
  * L'option **-r** va utiliser un répertoire indiqué, ET tous ses sous répertoires (-r signifie "récursif").

===== Exemples d'utilisation  =====
Basiquement pour afficher une seule image à l'écran :
  feh ~/répertoire-Images/nom_de_l'image.jpg

Obtenir un diaporama :
  feh image1 image2 image3...
ou
  feh ~/repertoire-images/
(puis faire défiler avec la molette)
ou
  feh -r ~/repertoire-images/   #avec recherche dans les sous dossiers

Obtenir un diaporama en plein écran, changeant aléatoirement de photo toutes les 5 secondes:
  feh -F -z -D 5 dossier_1 dossier_2 ... dossier_X

Obtenir des miniatures des images :
  feh -i image1 image2 image3...
ou
  feh -i dossier

Obtenir des minatures cliquables des images d'un dossier (clic=agrandissement)
  feh -t dossier

Charger les images d'un dossier pour avoir une ouverture plus rapide des images
  feh -p dossier

Un fond d'écran
  feh --bg-scale ~/répertoire-Images/fichier.jpg

Un fond d'écran aléatoire
  feh --bg-scale -z ~/répertoire-Images/

Un fond d'écran aléatoire tiré d'un répertoire ET de ses sous-répertoires
  feh --bg-scale -r -z ~/répertoire-Images/

===== Trucs et astuces =====

==== Papier peint changé à chaque démarrage d'openbox ====
Pour lancer automatiquement feh comme gestionnaire de fonds d'écran au démarrage [[openbox|d'openbox]], avec tirage aléatoire d'une nouvelle image à chaque démarrage, ajouter dans **~/.config/openbox/autostart** une ligne **feh --bg-scale -r -z ~/répertoire-Images/**

==== Papier peint changé à un intervalle prédéfini ====
Ci-dessous 2 exemples de scripts, qui changent le papier peint à un intervalle donné. Dans les 2 cas :
  * ouvrez un fichier texte (avec [[leafpad|leafpad]], [[gedit|gedit]],.. ),
  * copiez le texte du script choisi,
  * indiquez le nom du répertoire avec vos images, et le délai entre 2 changements de papiers peints,
  * enregistrez le fichier dans un répertoire quelconque sous le nom de **wallpaper.sh** (ou ce que vous voulez, mais avec une extension.sh),
  * autorisez le fichier à être exécuté comme un programme, soit par un **chmod +x wallpaper.sh**, soit en mode graphique en faisant un clic-droit sur le fichier, puis **propriétés / permissions / "autoriser l'exécution du fichier comme un programme"**,
  * lancez le script wallpaper.sh à la main à la demande, ou mieux en automatisant son démarrage. Pour [[openbox|openbox]], cela consistera en une ligne à ajouter dans le fichier ~/.config/openbox/autostart : **~///répertoire///wallpaper.sh &**

Un script très simple (5 lignes !)  à mettre dans le fichier **wallpaper.sh**: 

<file>
#!/bin/bash
while :			#début de la boucle sans fin
  do
       feh --bg-scale -r -z ~/Images/     #tirage aléatoire d'un papier-peint dans le répertoire /Images/ ET ses sous-répertoires
       sleep 60		    #nombre de secondes entre 2 changements de papier-peint
 done			#fin de la boucle sans fin
</file>

Un script faisant la même chose, mais un peu plus complexe, avec certains contrôles : 
<file>
#!/bin/bash -u

#Description: Ce script requiert feh sur votre machine, il changera votre fond d'écran openbox (ou autre) automatiquement toutes les 400 secondes
#Author: Millien Marc
#Date: 2 mars 2008


#On vérifie l'existence du répertoire Images/Fonds
if [ -d ~/Images/Wallpapers/ ] ; then
  cd ~/Images/Wallpapers/
  #On compte le nombre de fichiers
  _fics=`ls | grep -E "*.(png|jpg)" | wc -l`

  #S'il y a plus d'un fichier c'est parti
  if [ ${_fics} -gt 0 ] ; then

   #On vérifie que le script ne tourne pas déjà
   _ps=`ps aux`
   _pid=`echo "${_ps}" | grep $0 | tr -s [:space:] | cut -d' ' -f2`
   _lines=`echo "${_pid}" | wc -w`

   if [ ${_lines} -gt 1 ]; then
    _pid=`echo ${_pid} | cut -d' ' -f1`
    echo "Un script en trop, on le kill (pid: ${_pid})"
    kill ${_pid}
   fi

   #Boucle de fonctionnement
   while true; do

    #On sélectionne un fichier au hasard
    _nombre=$RANDOM
    _nombre=`expr ${_nombre} % ${_fics}`
    if [ ${_nombre} -eq 0 ] ; then
     _nombre=1
    fi
    _image=`ls | grep -E "*.(png|jpg)" | head --lines=${_nombre} | tail -1`

    #On affiche le fichier
    sleep 20
    feh --bg-scale "${HOME}/Images/Wallpapers/${_image}"
    sleep 400
    _fics=`ls | grep -E "*.(png|jpg)" | wc -l`
   done
  else
   echo "Veuillez placer des fichiers images dans le répertoire ${HOME}/Images/Wallpapers !"
  fi
else
  echo "Veuillez créer le répertoire ${HOME}/Images/Wallpapers et y placer vos fonds d'écran !"
fi

</file>
==== Créer une action diaporama sous Thunar.====
--edition -> configuration des actions personnalisées
commande :
  feh -F %f
dans l'onglet suivant
choisir "dossier" comme condition

===== Désinstallation =====

Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, le configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.


===== Voir aussi =====

  * **(en)** [[http://www.linuxbrit.co.uk/feh|Page du développeur original de feh]]
  * **(en)** [[https://derf.homelinux.org/projects/feh/|Page du mainteneur actuel de feh]] (le site annonce un certificat de sécurité périmé)
  * **(en)** [[http://pwet.fr/man/linux/commandes/feh|Manuel des commandes de feh]] (le même contenu peut être affiché avec la commande ''man feh'' dans un terminal)
  * [[http://forum.ubuntu-fr.org/viewtopic.php?pid=1103882#p1103882|Discussion dans le forum Ubuntu-fr]]

----
//Contributeurs : [[utilisateurs:Kanor]], [[utilisateurs:tshirtman]], [[utilisateurs:fnx]].//